package org.dromara.system.service;

import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.api.domain.bo.RemoteMessageBo;
import org.dromara.system.domain.bo.SysMessageBo;
import org.dromara.system.domain.vo.SysMessageVo;

import java.util.List;

/**
 * 系统管理-消息通知Service接口
 *
 * @author LionLi
 * @date 2024-03-28
 */
public interface ISysMessageService {

    /**
     * 查询系统管理-消息通知
     */
    SysMessageVo queryById(String id);

    /**
     * 查询系统管理-消息通知列表
     */
    TableDataInfo<SysMessageVo> queryPageList(SysMessageBo bo, PageQuery pageQuery);

    /**
     * 查询系统管理-消息通知列表
     */
    List<SysMessageVo> queryList(SysMessageBo bo);

    /**
     * 新增系统管理-消息通知
     */
    Boolean insertByBo(SysMessageBo bo) ;

    /**
     * 修改系统管理-消息通知
     */
    Boolean updateByBo(SysMessageBo bo);



    /**
     * 根据id删除通知消息
     * @param id
     * @return
     */
    Boolean deleteWithValidById(Long id);

    /**
     *当前登入人消息全部已读
     * @return
     */
    Boolean readAll();

    void insertBatchByBo(List<RemoteMessageBo> handlerMessageList);
}
